// JavaScript Document

(function($){
	$.fn.loadMediumTable = function(options){
		var s = {
				module_name 		: ''
				, search_div_id 	: ''
				, search_input_id 	: ''
				, view_div_id		: ''
				, ajax_div_id		: ''
				, url				: ''
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);
			$this.click(function(){
				if($('#'+s.search_div_id).css('display')=='none')
				{
					$("div[name^='ajax-']").html('');
					$('#'+s.search_div_id).show('fast');
					$('#'+s.view_div_id).hide('fast');
					$('#'+s.search_input_id).attr('value', 'Search...');
					$('#'+s.search_input_id).addClass('disable_input');
					$('#'+s.ajax_div_id).html('');
				}
				else
				{	
					$('#'+s.search_div_id).hide('fast');
					$('#'+s.view_div_id).show('fast');
					$('#'+s.ajax_div_id).html('');
				}
				return false;
			});
			$('#'+s.search_input_id).focus(function(){
				$('#'+s.search_input_id).removeClass('disable_input');
				if($('#'+s.search_input_id).attr('value')=='Search...')
				{
					$('#'+s.search_input_id).attr('value', '');
				}
			});
			$('#'+s.search_input_id).blur(function(){
				$('#'+s.search_input_id).addClass('disable_input');
				if($('#'+s.search_input_id).attr('value')=='')
				{
					$('#'+s.search_input_id).attr('value', 'Search...');
				}
			});
			
			$('#'+s.search_input_id).keyup(function(){
//				alert(s.url+$('#'+s.search_input_id).val());
				$.post(s.url+$('#'+s.search_input_id).val(),
				function(data){
					$('#'+s.ajax_div_id).html(data);
				});
			});
			$('#'+s.search_input_id).keypress(function(e){
				if(e.keyCode==13)
				{
					var $rec = $('#'+s.ajax_div_id).children().children().children().children().children();
					if($rec.length>1)
					{
						$('#'+s.search_div_id).hide('fast');
						var $recTitle = $rec.first();
						var $recValue = $recTitle.next();
						$('#'+s.view_div_id).html('');
						$('#'+s.view_div_id).wrapInner("<table></table>").children().append($recTitle).append($recValue);
						$('#'+s.view_div_id).children().children().children().each(function(){
							$(this).children().last().remove();
						});
						$('#'+s.module_name).attr('value', $recValue.children().first().html());
						$('#'+s.view_div_id).show('fast');
					}
					return false;
				}
			});
		});
	};
})(jQuery);

(function($){
	$.fn.plusMediumTable = function(options){
		var s = {
				module_name		: ''
				, search_div_id 	: ''
				, view_div_id	: ''
				};
		s = $.extend(s, options);
		var $handle = this;
		return this.each(function(){
			var $this = $(this);
			$this.removeClass('buttonPressed');

			$this.click(function(){
				$handle.each(function(){
					$(this).removeClass('buttonPressed');
				});
				$(this).addClass('buttonPressed');
				$('#'+s.search_div_id).hide('fast');
				var $recTitle = $(this).parent().parent().parent().children().first();
				var $recValue = $(this).parent().parent();
				$('#'+s.view_div_id).html('');
				$('#'+s.view_div_id).wrapInner("<table></table>").children().append($recTitle).append($recValue);
				$('#'+s.view_div_id).children().children().children().each(function(){
					$(this).children().last().remove();
				});
				$('#container-'+s.module_name).parent().children().first().attr('value', $recValue.children().first().html());
				$('#'+s.view_div_id).show('fast');
			});
		});
	};
})(jQuery);

(function($){
	$.fn.plusMultipleValue = function(options){
		var s = {
				module_name		: ''
				};
		s = $.extend(s, options);
		var $handle = this;
		return this.each(function(){
			var $this = $(this);
			var $inputItemReal = $(this).parent().parent().parent().parent().parent().parent().parent().parent().children().first();
			$this.click(function(){
				var $inputItem = $(this).parent().parent().parent().parent().parent().parent().parent().parent().children().first();
				var $valueItem = $(this).parent().parent().children().first().next().html();
				$inputItem.attr('value',$valueItem);
				$(this).parent().parent().parent().parent().parent().html("");
			});
		});
	};
})(jQuery);


(function($){
	$.fn.plusMultipleValueForeign = function(options){
		var s = {
				module_name		: ''
				};
		s = $.extend(s, options);
		var $handle = this;
		return this.each(function(){
			var $this = $(this);
			$this.click(function(){
				var $inputId = $(this).parent().parent().parent().parent().parent().parent().parent().parent().children().first();
				var $inputItem = $(this).parent().parent().parent().parent().parent().parent().parent().parent().children().first().next();
				var $valueId = $(this).parent().parent().children().first().html();
				var $valueItem = $(this).parent().parent().children().first().next().html();
				$inputId.attr('value',$valueId);
				$inputItem.attr('value',$valueItem);
				$(this).parent().parent().parent().parent().parent().html("");
			});
		});
	};
})(jQuery);


(function($){
	$.fn.loadAdvanceTable = function(options){
		var s = {
				module_name 		: ''
				, search_div_id 	: ''
				, search_input_id 	: ''
				, view_div_id		: ''
				, ajax_div_id		: ''
				, filter_div_id		: ''
				, url				: ''
				, filter_count		: 0
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);
			$this.click(function(){
				if($('#'+s.search_div_id).css('display')=='none')
				{
					$("div[name^='ajax-']").html('');
					$('#'+s.search_div_id).show('fast');
					$('#'+s.view_div_id).hide('fast');
					$('#'+s.search_input_id).attr('value', 'Search...');
					$('#'+s.search_input_id).addClass('disable_input');
					$('#'+s.ajax_div_id).html('');
				}
				else
				{	
					$('#'+s.search_div_id).hide('fast');
					$('#'+s.view_div_id).show('fast');
					$('#'+s.ajax_div_id).html('');
				}
				return false;
			});
			$('#'+s.search_input_id).focus(function(){
				$('#'+s.search_input_id).removeClass('disable_input');
				if($('#'+s.search_input_id).attr('value')=='Search...')
				{
					$('#'+s.search_input_id).attr('value', '');
				}
			});
			$('#'+s.search_input_id).blur(function(){
				$('#'+s.search_input_id).addClass('disable_input');
				if($('#'+s.search_input_id).attr('value')=='')
				{
					$('#'+s.search_input_id).attr('value', 'Search...');
				}
			});
			$('#'+s.search_input_id).keyup(function(){
				var $filterField 	= $('#'+s.filter_div_id).find("table").first().children().children();
				var arrayPost		= new Array();
				if($filterField.children().length>0)
				{
					if(s.filter_count>0)
					{
						for(i = 0; i < s.filter_count; i++)
						{
							var valFilter	= "-";
							var $handleFilter = $filterField.find("#filter-id-"+i);
							if($handleFilter.attr("type")=='radio')
							{
								valFilter = $("#filter-id-"+i+":checked").val();
							}
							else
							{
								valFilter = $handleFilter.attr('value');
							}
							arrayPost[i] = ((valFilter=='')||(valFilter==null))?'-':valFilter;
						}
					}
				}
				var searchValue = ($('#'+s.search_input_id).val()=="")?"-":$('#'+s.search_input_id).val();
				$.post(s.url+searchValue+'/'+arrayPost.join('/')
				, function(data){
					$('#'+s.ajax_div_id).html(data);
				});
			});
			$('#'+s.search_input_id).keypress(function(e){
				if(e.keyCode==13)
				{
					var $rec = $('#'+s.ajax_div_id).children().children().children().children().children();
					if($rec.length>1)
					{
						$('#'+s.search_div_id).hide('fast');
						var $recTitle = $rec.first();
						var $recValue = $recTitle.next();
						$('#'+s.view_div_id).html('');
						$('#'+s.view_div_id).wrapInner("<table></table>").children().append($recTitle).append($recValue);
						$('#'+s.view_div_id).children().children().children().each(function(){
							$(this).children().last().remove();
						});
						$('#'+s.module_name).attr('value', $recValue.children().first().html());
						$('#'+s.view_div_id).show('fast');
					}
					return false;
				}
			});
		});
	};
})(jQuery);


(function($){
	$.fn.loadMultipleValue = function(options){
		var s = {
				module_name 		: ''
				, remove_id			: ''
				, ajax_id 			: ''
				, item_div_id	 	: ''
				, item_field_id 	: ''
				, container_field_id:''
				, url				: ''
				};
		s = $.extend(s, options);
		return this.each(function(){
			$('#'+s.remove_id).css('visibility','visible');
			var $this = $(this);
			$this.click(function(){
				var newId = $('#'+s.container_field_id).children().length;
				if(newId>0)
					$('#'+s.remove_id).css('visibility','visible');
				var $newChild = $('#'+s.container_field_id).children().first().clone().css('display', 'none');
				$newChild.attr('name', s.item_div_id+"-"+newId)
						.attr('id', s.item_div_id+"-"+newId);
				$newChild.children().first().attr('name', s.item_field_id+"-"+newId)
											.attr('id', s.item_field_id+"-"+newId).val("");
				// attach function
				$newChild.children().first().keyup(function(e){
					if(e.keyCode!=13)
					item_field_keyup($(this));
				});
				addInputKeyPress($newChild.children().first());
				$newChild.children().last().attr('name', s.ajax_id+"-"+newId)
											.attr('id', s.ajax_id+"-"+newId).html("");
				$newChild.appendTo($('#'+s.container_field_id)).show('fast');
				$newChild.children().first().focus();
				return false;
			});
			$('#'+s.remove_id).click(function(){
				var itemCount = $('#'+s.container_field_id).children().length;
				if(itemCount>1)
					$('#'+s.container_field_id).children().last().hide('fast').delay(1000).remove();
				return false;
			});
			$("input[name^='"+s.item_field_id+"']").keyup(function(e){
				if(e.keyCode!=13)
				item_field_keyup($(this));
			});
			function item_field_keyup($obj){
				$.post(s.url+$obj.val()
				, function(data){
					$obj.next().html(data);
					$("a#exitButton-"+s.module_name).click(function(){
						$(this).parent().parent().html('');
						return false;
					});
				});
			};
			addInputKeyPress($('#'+s.item_field_id+"-0"));
			function addInputKeyPress($obj){
				$obj.keypress(function(e){
					if(e.keyCode==13)
					{
						var $rec = $(this).parent().children().last().find("table").children().children();
						if($rec.length>1)
						{
							var $recValue = $rec.first().next().children().first().next().html();
							$(this).attr('value', $recValue);
							$(this).next().html('');
						}
						return false;
					}
				});
			}
		});
	};
})(jQuery);

(function($){
	$.fn.loadMultipleValueForeign = function(options){
		var s = {
				module_name 		: ''
				, remove_id			: ''
				, ajax_id 			: ''
				, item_div_id	 	: ''
				, item_field_id 	: ''
				, item_field_input 	: ''
				, container_field_id:''
				, url				: ''
				};
		s = $.extend(s, options);
		return this.each(function(){
			$('#'+s.remove_id).css('visibility','visible');
			var $this = $(this);
			$this.click(function(){
				var newId = $('#'+s.container_field_id).children().length;
				if(newId>0)
					$('#'+s.remove_id).css('visibility','visible');
				var $newChild 		= $('#'+s.container_field_id).children().first().clone().css('display', 'none');

				$newChild.attr('name', s.item_div_id+"-"+newId)
						.attr('id', s.item_div_id+"-"+newId);
				$newChild.children().first().attr('name', s.item_field_id+"-"+newId)
											.attr('id', s.item_field_id+"-"+newId).val("");
				$newChild.children().first().next().attr('name', s.item_field_input+"-"+newId)
											.attr('id', s.item_field_input+"-"+newId).val("");
				// attach function
				$newChild.children().last().attr('name', s.ajax_id+"-"+newId)
											.attr('id', s.ajax_id+"-"+newId).html("");
				$newChild.appendTo($('#'+s.container_field_id)).show('fast');

				$("#"+s.item_field_input+"-"+newId).keyup(function(e){
					if(e.keyCode!=13)
					item_field_keyup($(this));
				});
				addInputKeyPress($("#"+s.item_field_input+"-"+newId));

				$newChild.children().first().focus();
				return false;
			});
			$('#'+s.remove_id).click(function(){
				var itemCount = $('#'+s.container_field_id).children().length;
				if(itemCount>1)
					$('#'+s.container_field_id).children().last().hide('fast').delay(1000).remove();
				return false;
			});
			$("input[name^='"+s.item_field_input+"']").keyup(function(e){
				if(e.keyCode!=13)
				item_field_keyup($(this));
				addInputKeyPress($(this));
			});
			function item_field_keyup($obj){
				$.post(s.url+$obj.val()
				, function(data){
					$obj.next().html(data);
					$("a#exitButton-"+s.module_name).click(function(){
						$(this).parent().parent().html('');
						return false;
					});
				});
			};
			addInputKeyPress($('#'+s.item_field_input+"-0"));
			function addInputKeyPress($obj){
				$obj.keypress(function(e){
					if(e.keyCode==13)
					{
						var $rec = $(this).parent().children().last().find("table").children().children();
						if($rec.length>1)
						{
							var $recId 		= $rec.first().next().children().first();
							var $recValue	= $rec.first().next().children().first().next();
							$(this).parent().children().first().attr('value', $recId.html());
							$(this).attr('value', $recValue.html());
							$(this).next().html('');
						}
						return false;
					}
				});
			}
		});
	};
})(jQuery);


(function($){
	$.fn.loadMultipleValueImage = function(options){
		var s = {
				module_name 		: ''
				, remove_id			: ''
				, ajax_id 			: ''
				, item_div_id	 	: ''
				, item_field_id 	: ''
				, container_field_id:''
				, url				: ''
				};
		s = $.extend(s, options);
		return this.each(function(){
			$('#'+s.remove_id).css('visibility','hidden');
			var $this = $(this);
			$this.click(function(){
				var newId = $('#'+s.container_field_id).children().length;
				if(newId>0)
					$('#'+s.remove_id).css('visibility','visible');
				var $newChild = $('#'+s.container_field_id).children().first().clone().css('display', 'none');
				$newChild.attr('name', s.item_div_id+"-"+newId)
						.attr('id', s.item_div_id+"-"+newId);
				$newChild.children().first().attr('name', s.item_field_id+"-"+newId)
											.attr('id', s.item_field_id+"-"+newId).val("");
				// attach function

				$newChild.children().last().attr('name', s.ajax_id+"-"+newId)
											.attr('id', s.ajax_id+"-"+newId).html("");
				$newChild.appendTo($('#'+s.container_field_id)).show('fast');
				$newChild.children().first().focus();
				return false;
			});
			$('#'+s.remove_id).click(function(){
				var itemCount = $('#'+s.container_field_id).children().length;
				if(itemCount>1)
					$('#'+s.container_field_id).children().last().hide('fast').delay(1000).remove();
				return false;
			});

		});
	};
})(jQuery);

(function($){
	$.fn.navigateViewData = function(options){
		var s = {
				div_loading 		: ''
				, div_grid			: ''
				, url				: ''
				, div_container		: ''
				, changeRow			: false
				, autocomplete		: false
				, field_filter		: ''
				, len_filter		: ''
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);

			if(s.changeRow)
				$this.change(function(){
					loadAjax();
				});
			else if(s.autocomplete)
				$this.keyup(function(){
					loadAjax();
				});
			else
				$this.click(function(){
					loadAjax();
					return false;
				});
			function loadAjax(){
				var xUrl 	= "";
				for(i = 0; i < s.len_filter; i++)
				{
					var value 	= "";
					switch(s.field_filter[i][1])
					{
						case "radio":
							value = $('#filter-id-'+s.field_filter[i][0]+':checked').val();
							if (value==undefined)
								value = '-';
							s.field_filter[i] = value;
							xUrl += value+'/';
						break;
						default:
							value = $('#filter-id-'+s.field_filter[i][0]).val();
							if (value=='')
								value = '-';
							s.field_filter[i] = value;
							xUrl += value+'/';
						break;
					}
				}


				$('.'+s.div_grid).slideUp('fast', function()
				{
					$('.'+s.div_loading).slideDown('fast');
				});
				if(s.changeRow)
					var url	= s.url+$this.val()+'/1/'+xUrl;
				else if(s.autocomplete)
					var url	= s.url+xUrl;
				else
					var url	= s.url+s.count+'/'+(($this.html()=='Refresh')?'1':$this.html())+'/'+xUrl;
				$.post(url
				, function(data){
					$('#'+s.div_container).html(data);
				});
			};
		});
	};
})(jQuery);

(function($){
	$.fn.deleteData = function(options){
		var s = {
				div_loading 		: ''
				, div_grid			: ''
				, url				: ''
				, div_container		: ''
				, start				: ''
				, count				: ''
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);
			$this.click(function(){
				if(confirm('Are you sure want to delete this data?'))
				{
					$('.'+s.div_grid).slideUp('fast', function()
					{
						$('.'+s.div_loading).slideDown('fast');
					});
					var url	= s.url+s.count+'/'+s.start+'/delete/'+$(this).attr('idRec');
					$.post(url
					, function(data){
						$('#'+s.div_container).html(data);
					});
				}
				return false;
			});
		});
	};
})(jQuery);

(function($){
	$.fn.subInputDeleteData = function(options){
		var s = {
				div_loading 		: ''
				, div_grid			: ''
				, url				: ''
				, div_container		: ''
				, start				: ''
				, count				: ''
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);
			$this.click(function(){
				if(confirm('Are you sure want to delete this data?'))
				{
					$('.'+s.div_grid).slideUp('fast', function()
					{
						$('.'+s.div_loading).slideDown('fast');
					});
//					alert($(this).attr('idRec'));
					var url	= s.url+$(this).attr('idRec')+'/'+s.count+'/'+s.start;
//					alert(url);
					$.post(url
					, function(data){
						$('#'+s.div_container).html(data);
					});
				}
			});
		});
	};
})(jQuery);


(function($){
	$.fn.navigateDetailData = function(options){
		var s = {
				url	: '',
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);
			$this.click(function(){
				$.post(s.url+$(this).attr('idRec')
				, function(data){
					$this.next().html(data);
				});
				return false;
			});
		});
	};
})(jQuery);

(function($){
	$.fn.navigateToInsertData = function(options){
		var s = {
				div_loading 		: ''
				, div_grid			: ''
				, url				: ''
				, div_container		: ''
				
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);
			$this.click(function(){
				$('.'+s.div_grid).slideUp('fast', function()
				{
					$('.'+s.div_loading).slideDown('fast');
				});
				$.post(s.url
				, function(data){
					$('#'+s.div_container).html(data);
				});
				return false;
			});
		});
	};
})(jQuery);

(function($){
	$.fn.navigateToEditData = function(options){
		var s = {
				url	: '',
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);
			$this.click(function(){
				var url = s.url+$(this).attr('idvalue')+'/'+$(this).attr('fieldname')+'/'
				$.post(url
				, function(data){
					$this.parent().parent().html(data);
				});
				return false;
			});
		});
	};
})(jQuery);

(function($){
	$.fn.navigateToEditDataNormal = function(options){
		var s = {
				url	: '',
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);
			$this.click(function(){
				var url = s.url+$(this).attr('idrecord')+'/'+$(this).attr('fieldname')+'/'
				$.post(url
				, function(data){
					$this.parent().parent().html(data);
				});
				return false;
			});
		});
	};
})(jQuery);


(function($){
	$.fn.saveSubEditData = function(options){
		var s = {
				url			: '',
				field_id 	: '',
				type		: '',
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);
			$this.submit(function(){
				var value = '';
				switch(s.type)
				{
					case "radio":
						value = $('#'+s.field_id+':checked').val();
						if (value==undefined)
							value = '-';
					break;
					default:
						value = $('#'+s.field_id).val();
						if (value=='')
							value = '-';
					break;
				}
				var url = s.url+value
				$.post(url
				, function(data){
					$this.parent().parent().parent().html(data);
				});
				return false;
			});
		});
	};
})(jQuery);


(function($){
	$.fn.navigateToView = function(options){
		var s = {
				div_form	 		: ''
				, url				: ''
				, div_loading		: ''
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);
			$this.click(function(){
				$('#'+s.div_form).slideUp('fast', function()
				{
					$('.'+s.div_loading).slideDown('fast');
				});
				$.post(s.url
				, function(data){
					$this.parent().parent().parent().html(data);
				});
				return false;
			});
		});
	};
})(jQuery);

(function($){
	$.fn.loginSystem = function(options){
		var s = {
				user_login	: ''
				, user_pass	: ''
				, url		: ''
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);
			$this.submit(function(){
				var user_login	= $('#'+s.user_login).val();
				var user_pass	= $('#'+s.user_pass).val();
//				alert(s.url+user_login+'/'+user_pass);
				$.post(s.url+user_login+'/'+user_pass
				, function(data){
					$this.parent().parent().html(data);
				});
				return false;
			});
		});
	};
})(jQuery);


(function($){
	$.fn.checkPrimary = function(options){
		var s = {
				module_name 		: ''
				, ajax_div_id		: ''
				, url				: ''
				};
		s = $.extend(s, options);
		return this.each(function(){
			$(this).keyup(function(){
				$.post(s.url+$('#'+s.module_name).val()
				, function(data){
					$('#'+s.ajax_div_id).html(data);
				});
			});
		});
	};
})(jQuery);

(function($){
	$.fn.submitInsertSubData = function(options){
		var s = {
				div_loading 		: ''
				, postValue			: ''
				, len				: ''
				, div_grid			: ''
				, url				: ''
				, div_container		: ''
				
				};
		s = $.extend(s, options);
		return this.each(function(){
			var $this = $(this);
			$this.submit(function(){
				$('.'+s.div_grid).slideUp('fast', function()
				{
					$('.'+s.div_loading).slideDown('fast');
				});
				for(i = 0; i < s.len; i++)
				{
					var xUrl 	= "";
					var value 	= "";
					switch(s.postValue[i][1])
					{

/*						case "text_area":
							value = $('#'+s.postValue[i][0]).val();
							if (value=='')
								value = '-';
							xUrl = value+'/';
						break;
*/
						case "radio":
							value = $('#'+s.postValue[i][0]+':checked').val();
							if (value==undefined)
								value = '-';
							s.postValue[i] = value;
							xUrl = value+'/';
						break;
						default:
							value = $('#'+s.postValue[i][0]).val();
							if (value=='')
								value = '-';
							s.postValue[i] = value;
							xUrl = value+'/';
						break;
					}
//					s.url += xUrl;
				}
//				alert(s.url);
				$.post(s.url, s.postValue
//				$.post(s.url
				, function(data){
					$('#'+s.div_container).html(data);
				});
				return false;
			});
		});
	};
})(jQuery);

(function($){
	$.fn.rejectChar = function(options){
		return this.each(function(){
			var $this = $(this);
			$this.keydown(function(c){
//				alert(c.keyCode)
				switch(c.keyCode)
				{
					case 191:
					case 222:
						return false;
					break;
				}
			});
		});
	};
})(jQuery);
